package com.ruoyi.system.domain;

import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.util.Objects;

/**
 * @description:
 * @author：tuimao
 * @date: 2025/4/13
 */
@ApiModel(value = "ReimbursementApplicationParam", description = "转账请求参数")
public class ReimbursementApplicationParam extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 序号 */
    @ApiModelProperty("id")
    private Long id;

    /**
     * 报销金额
     */
    @ApiModelProperty("报销金额")
    private BigDecimal reimbursementAmount;

    /**
     * 0-个人账户 1-基金账户
     */
    @ApiModelProperty("0-个人账户 1-基金账户")
    private int accountType;

    /**
     * 备注信息
     */
    @ApiModelProperty("备注信息")
    private String remark;

    public ReimbursementApplicationParam(Long id, BigDecimal reimbursementAmount, int accountType, String remark) {
        this.id = id;
        this.reimbursementAmount = reimbursementAmount;
        this.accountType = accountType;
        this.remark = remark;
    }

    public ReimbursementApplicationParam() {
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        ReimbursementApplicationParam that = (ReimbursementApplicationParam) o;
        return accountType == that.accountType && Objects.equals(id, that.id) && Objects.equals(reimbursementAmount, that.reimbursementAmount) && Objects.equals(remark, that.remark);
    }

    @Override
    public int hashCode() {
        return Objects.hash(id, reimbursementAmount, accountType, remark);
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public BigDecimal getReimbursementAmount() {
        return reimbursementAmount;
    }

    public void setReimbursementAmount(BigDecimal reimbursementAmount) {
        this.reimbursementAmount = reimbursementAmount;
    }

    public int getAccountType() {
        return accountType;
    }

    public void setAccountType(int accountType) {
        this.accountType = accountType;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }
}
